1. Field of the Invention
This invention relates generally to a character pattern generation method and system therefor, and more particularly to a pattern generation method and system therefor which will be suitable for generating an outline pattern consisting of the aggregate of lines of various thickness from the same skeleton pattern with a high quality level.
2. Description of the Prior Art
A method of generating a character pattern having various thickness of lines constituting a character from the same character pattern might be feasible in accordance with thickening processing from skeleton data that has been reported recently (e.g. J. Hobby and Gu Guoan, "A Chinese Meta-Font", Stanford University, Dept. of Computer Science, Report No. STAN-CS-83-974, July, 1983). Japanese Patent Laid-Open No. 147572/1987, which was filed by the same applicant as the applicant of the present invention, is also known as one of the prior art references. This system can generate outline data of various sizes from skeleton data and can provide the thickness of lines constituting a character as parameters. The advantages of this method are that characters of various sizes can be generated from the same skeleton data and the thickness of lines can be set independently of the character size.
These advantages are brought forth by the feature of a skeleton pattern retention system which cannot be accomplished by a character pattern retention/output system by a present dot matrix pattern.
Though the prior art technique described above can change the thickness of lines constituting a character, the line might deviate from the relation of character pattern inherent to a given character if the change of line thickness is too great. In other words, the pattern of a character shape which makes it possible to recognize a given character as the character might be spoiled. Even if the pattern of the character shape is not spoiled completely, quality of the character shape might drop. Furthermore, correlationship between character patterns that constitute one character set might be broken. Let's consider, for example, the characters "H" and "T". There is a rule that the upper side of "H" lies on the same horizontal line as that of "T". However, if thickening processing of lines is carried out in accordance with the prior art technique described above, the upper side of "T" becomes higher with an increasing thickness, though the upper side of "H" remains unchanged. Though the lower part of the left-hand radical " " of the Chinese character " " does not change by the thickening processing in accordance with the prior art method described above, the lower end of the right-hand radical of the character " " moves downward by the thicknening processing.
The above will be explained more definitely with reference to FIG. 7. This drawing illustrates a definite example of a character and represents the outline generation method, its thickness control method and its problems in accordance with the prior art technique described already. In FIG. 7, (7-1) represents the skeleton line data of the alphabet letter "H" and (7-3) and (7-5) are its outline patterns. The thickness of line constituting the character is different between (7-3) and (7-5). In FIG. 7, (7-2) represents the skeleton line data of the character "T" and (7-4) and (7-6) are its outline patterns. In each drawing of FIG. 7, the rectangle of dash lines encompassing the character pattern represents a character box and a white circle represents a skeleton point. In (7-1) and (7-2), the lines connecting the skeleton points represent the skeleton lines.
The skeleton line data include data representing the coordinate sequence and the kind (hereinafter may be called stroke kind) of lines. In the case of the character "T" in (7-2), the lines constituting the character are two. The first has the kind "horizontal-line stroke" having two skeleton points at the extreme right and left edges. The second has the kind "vertical-line stroke" having two skeleton points at the upper and lower ends. In (7-1) and (7-2) in FIG. 7, the skeleton points among these skeleton line data are represented by white circle and are connected mutually within the same line. The kind of the skeleton lines is omitted from the drawing.
Referring to FIG. 7, (7-3) and (7-5) represent the outline pattern of the character "H" generated from (7-1) and the thickness data. Similarly, (7-4) and (7-6) represent the outline pattern of the character "T" generated from (7-2) and the thickness data. In the drawings from (7-3) to (7-6), white circles represent the skeleton points of the skeleton line data, while black circles are generated from the skeleton line data (kinds of lines are also involved besides the skeleton point positions) and the thickness data and are referred to as "characteristic points of the outline curve". In the generated outline pattern data are contained the coordinate sequence of these characteristic points of the outline curve and the kind of curves interpolating between the points.
Since the outline curves of the character shown in FIG. 7 are all straight lines, the kind "straight line" is generated as the kind of curves for interpolating between each pair of characteristic points of outline curve. Though this kind is not put into FIG. 7, the characteristic points of outline curve are connected by the straight lines in accordance with the meaning of this kind so as to represent clearly the outline pattern.
Next, how the thickness data is used for the generation of the outline pattern will be explained. First of all, the "vertical-line stroke" as the first line of the character "H" will be considered. The skeleton point of this "vertical-line stroke" are given as the coordinates of the point 731 and the point 732 of (7-3). In the generation of the outline pattern, the coordinates of each of the points 733, 734, 735 and 736 as the characteristic points of outline curve by the thickness data as well as the kind of curve connecting each point (all the curves being the "straight lines" in this case) are determined, by the coordinates of these two points and the stroke kind of the line, i.e. "vertical-line stroke", and thickness data of the line. Among them, the thickness data is involved with the determination method of the coordinates of the characteristic points of outline curve. The angle between the straight line connecting the characteristic points of outline curve 733 and 734 and the skeleton lines 731-732 or the angle between the straight line and the horizontal line of the character box is determined by the stroke kind of the line. Points 733 and 734 are determined by plotting them on the line passing through the skeleton point 731 and determined by the angle described above in the distance from the skeleton point 731 which corresponds to half of the value of the corresponding thickness data on both sides of the skeleton point 731. Points 735 and 736 are determined in the same way. FIG. (7-5) shows the outline pattern obtained when the thickness of each line constituting the character "H" is smaller than that of FIG. (7-3). Incidentally, the line thickness data is not given to the character but to each line constituting the character. Therefore, it is possible to form one character by a plurality of lines having different thickness.
Next, the generation method of the outline pattern of the character "T" will be considered with reference to (7-4) and (7-6) of FIG. 7. In FIG. (7-4), reference numerals 741 and 742 represent the skeleton points of the "horizontal-line stroke" as the first line of "T" and reference numerals 743, 744, 745 and 746 represent the characteristic points of outline curve. The description of the generation method of the characteristic points of outline curve will be omitted because it is the same as that of (7-3).
FIG. (7-6) shows an example of the outline pattern which is generated by use of a set of thickness data having smaller values than in the case shown in FIG. (7-4). Here, reference numerals 761 and 762 represent the skeleton points in the same way as above and reference numerals 763, 764, 765 and 766 represent its characteristic points of outline curve. FIGS. (7-3) and (7-5) show the outline patterns generated by giving different thickness data to the single skeleton line data of "H". FIGS. (7-4) and (7-6) show the outline pattern generated by giving different thickness data to the single skeleton line data of "T". When the inside of the outline curve of each outline pattern is filled, a character pattern having the thickness of line can be obtained. The thickness of line must be balanced inside the same character set. From this aspect, "H" in FIG. (7-3) and "T" in FIG. (7-4) can be regarded as the characters of the same character set and "H" in FIG. (7-5) and "T" in FIG. (7-6) can be regarded as the characters of the different character sets. However, the line positions between the characters must be taken into consideration in addition to the balance of the thickness of lines between the characters. From this point, this system is not free from the problem. Let's consider the upper end line when each of the characters "H" and "T" are filled. In the character "H" shown in FIG. (7-3), the upper end line is the line that connects the characteristic points of outline curve 733 and 734, and this line lies on the same striaght line as the corresponding outline line of another connecting line of the character "H". In the character "T" in FIG. (7-4), on the other hand, the upper end line corresponds to the line that connects the characteristic points of outline curve 744 and 746. The upper end line of "H" in FIG. (7-3) is in agreement with that of "T" in FIG. (7-4). However, in the case of "H" in FIG. (7-5) and "T" in FIG. (7-6) where the thickness of each line is reduced, their upper end lines are not in agreement. The upper end line of "H" exists at the same position irrespective of its thickness. In contrast, the upper end line of "T" rises when the thickness of line is increased and lowers towards the skeleton line when the thickness is decreased. Such an unbalance occurs between different lines inside the same character. The Chinese characters such as " " and " " described above are such examples. As can be understood from the description given above, the prior art technique involves the limitation that quality of the characters generated by the thickening processing is not high and if the high quality characters are to be generated, the width of thickness must be limited within a short range.